package com.sunthy.mall.dao.admin;

import com.sunthy.mall.model.admin.bo.admin.AdminLoginBo;
import com.sunthy.mall.model.admin.bo.client.user.UpdatePwdBo;
import com.sunthy.mall.model.admin.bo.client.user.UpdateUserDataBo;
import com.sunthy.mall.model.admin.pojo.admin.User;
import com.sunthy.mall.model.admin.vo.admin.AllUserVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @Description: 对user的数据库操作
 * @Author: XM
 */
public interface UserDao {
    // todo 优化
    // 查询所有的user
    List<User> allUser();

    // 删除指定id的user
    int delete(Integer id);

    /**
     * @param nickname
     * @return
     */
    List<User> searchAllUser(String nickname);

    /**
     * 查找user
     *
     * @param adminLoginBo
     * @return int
     */
    User selUser(@Param("adminLoginBo") AdminLoginBo adminLoginBo);

    /**
     * 查询user
     *
     * @param email
     * @return
     */
    List<User> allUserByEmail(String email);

    /**
     * 添加user
     *
     * @param allUserVO
     */
    void addUser(@Param("allUserVO") AllUserVO allUserVO);

    /**
     * 通过id查找user
     *
     * @param id
     * @return string
     */
    String selUserById(Integer id);

    int updateUserPwd(@Param("updatePwdBo") UpdatePwdBo updatePwdBo);

    int updateUSer(@Param("updateUserDataBo") UpdateUserDataBo updateUserDataBo);
}
